Comment commiter? (ou je commite sans problme en 10 leons)

Je considre que :
    - les sources PC sont dans le rpertoire /Metafor_dev et que 
    - les sources stations vont tre dans /home/$USER/Metafor

1. Se mettre  jour et compiler son projet, attention  bien updater aussi les fichiers oo_nda!!!!
2. Faire passer les batterie sous PC dans cygwin :
    a) Si on n'a pas Bacon sur son PC, gnrer les .py sur chinook :
       ./buildPyFiles dans apps sur Chinook, puis zipper le rpertoire apps (zip -rl9 apps.zip apps) et le rapatrier sur PC
       Les fichiers qu'il faut absolument ramener son les *.py et les *.fdb.
    b) dans apps -> ./cleanAll.sh (attention vrfier qu'un lien symbolique gmake -> make existe dans /bin : ln -s make gmake)
    c) dans apps -> ./batterieAll.sh
    d) Vrifier avec AraxisMerge les diff
   Mon conseil : avoir deux versions de Metafor sur le PC : 
   une version officielle  laquelle on ne touche pas et la version de dveloppement. 
   On lance une batterie avec la version officielle et une avec la version de dveloppement. 
   On compare les rsultats de ces deux batteries et pas ceux du Repository.
3. Dans le mme temps, compiler les sources et lancer la batterie sous Linux64 (gaston) et sous Alpha-Linux Debian (spirou-fantasio-tsuno) et sous OSF (chinook)
   Dans ce qui suit, on considre qu'on travaille dans /home/$USER/Metafor
    a) Sur Spirou/Gaston/Chinook/Calimero, effacer tout ce qui se trouve dans le rpertoire Metafor (rm -rf *)
    b) Sur cygwin -> on nettoie bien les rpertoires (notamment bouger tous les oo_meta_* et les rsultats de la batterie PC)
               -> on se met dans le rpertoire Metafor_dev de son PC -> zip -rll9 oom.zip oo_meta oofelie oo_nda
               -> sftp spirou/gaston/chinook -> password (ou avec Filezilla)
               -> cd /home/user/Metafor
               -> put oom.zip
               -> bye
    Si on n'utilise pas le script de Romain (mais c'est une erreur...):
    c) Sur toutes les machines -> unzip oom.zip
    d) bien nettoyer tout : effacer le repertoire /oo_meta/workspace, et dans apps : ./cleanAll.sh
    e) se mettre dans le rpertoire oo_meta -> ./fullBuild.sh --with-gui (construction des Makefile), 
       puis gmake NCPU=N (N = nombre de CPU) (gmake sur spirou/tsuno/fantasio)
    f) Sur Spirou/Fantasio/Tsuno qui n'ont pas Bacon :
       i)   Gnrer les fichiers .py sur chinook (par exemple) : dans apps, ./buildPyFiles. 
       ii)  Zipper le rpertoire apps : gtar -cvzf apps.tar.gz apps
       iii) Copier le fichier apps.tar.gz quelque part dans /accounts/user/
       iv)  Sur Spirou/Fantasio/Tsuno, effacer le rpertoire apps, copier apps.tar.gz dans oo_meta, puis tar -xvzf apps.tar.gz
    g) Lancer la batterie -> se mettre dans apps, at now enter, ./batterieAll.sh enter, ctrl d
    Si on utilise le script de Romain :
    d) ./comp_vN.sh et jouer dedans pour lui dire ce qu'on veut, c'est trs facile
4. Une fois que la batterie est passe, 
   si on utilise le script de Romain, on a reu un mail avec les diff
   si on n'utilise pas le script de Romain, on se met dans apps/verif
    a) Sur gaston ->
        cvs diff STP-Linux64-All.txt
        cvs diff ITE-Linux64-All.txt
        cvs diff INW-Linux64-All.txt
        cvs diff EXW-Linux64-All.txt
        cvs diff EXT-Linux64-All.txt
    b) Sur chinook->
        cvs diff STP-OSF1-All.txt
        cvs diff ITE-OSF1-All.txt
        cvs diff INW-OSF1-All.txt
        cvs diff EXW-OSF1-All.txt
        cvs diff EXT-OSF1-All.txt
    c) Sur spirou/fantastio/tsuno ->
        cvs diff STP-AlphaLinux-All.txt
        cvs diff ITE-AlphaLinux-All.txt
        cvs diff INW-AlphaLinux-All.txt
        cvs diff EXW-AlphaLinux-All.txt
        cvs diff EXT-AlphaLinux-All.txt
    d) Sur calimero ->
        cvs diff STP-Linux-All.txt
        cvs diff ITE-Linux-All.txt
        cvs diff INW-Linux-All.txt
        cvs diff EXW-Linux-All.txt
        cvs diff EXT-Linux-All.txt
	attention : il faut peut-etre spcifier le rpertoire du repository selon
                cvs -d :ext:$USER@$MACHINE.ltas.ulg.ac.be:/accounts/metafor/Repository diff "nom du fichier"
5. On rpte 2,3 et 4 jusqu' ce que a marche...
6. On commite!!!!
    a) ./cleanAll.sh dans oo_meta/apps
    b) Faire un zip du Repository pour eviter les couilles... : 
        cd /accounts/$USER
        tar -cvzf Metafor_date.tar /accounts/metafor/Repository
        tar -cvzf Oofelie_date.tar /accounts/oofelie/Repository
    c) Dans WinCVS, on se met en flat mode, on appuie sur "show commitable", "Show unknown", "Show missing"
        i.   Avec les "show missing", on les remove
        ii.  Avec les "show unknown", on rajoute ceux qu'il faut ajouter -> "add selected", puis "commit selected"
        iii. Avec les "show removed", on les committe aussi
        iii. On se met dans oo_meta -> "commit selection". Il ne doit alors plus rester que les "?"
    d) Sur les stations, on se met dans apps/verif
	    i.   cvs update
        ii.  Sur spirou : cvs commit *AlphaLinux*, puis :wq dans le fichier qui s'ouvre
        iii. Sur gaston : cvs commit *Linux64*, puis :wq dans le fichier qui s'ouvre
        iv.  Sur chinook : cvs commit *OSF1*, puis :wq dans le fichier qui s'ouvre
        v.   Sur calimero : cvs commit *-Linux*, puis :wq dans le fichier qui s'ouvre
        ps : ventuellement taper c pour continue si un menu vous enjoint d'interagir.
        ps2: ne pas utiliser cygwin pour commit avec chinook! Utiliser Putty.
        ps3: ventuellement ne pas oublier de commiter oo_nda, surtout les temps CPU.

A prsent, le commit est suppos termin, les tapes suivantes sont de la vrification

7. On recompile les sources sur toutes les machines (Linux, OSF1, PC) :
    a) Sur PC : refaire un checkout des sources avec WinCVS, puis recompiler le projet
    b) Sur les stations : on efface tous les rpertoires dans le rpertoire Metafor -> rm -rf *, 
    c) On fait un checkout (oo_meta_co, oofelie_co, oo_nda_co) 
    d) On refait 3e) et 3f) si on n'utilise pas le script de Romain. 
    e) On lance cont2.
8. Si 7 est OK, on fait un Tag de sa version : dans WinCVS :
   dans modify, create a tag on selection, on met $USER_datedecommit
9. Mettre le site  jour et envoyer 1 mail
10. Mettre  jour le fichier CPU-batterie.xls sur le site :
    a) Ajouter les lignes pour les nouveaux cas-tests avec les noms et ajouter 2 colonnes pour le nouveau commit.
    b) Copier-coller la colonne des temps du fichier CPU-AlphaLinux-All.txt (AlphaLinux remplace OSF1) dans le fichier Excel aprs les avoir trier par ordre alphabtique!
    c) faire CTRL-L pour les temps CPU des nouveaux (pour les mettre dans toutes les colonnes)
    d) surligner les nouveaux cas-tests en jaune.

En bonus track si on a le temps et l'envie: 

11. On met  jour le Snapshot : sur gaston : su metafor (pw : celui de Luc...)
    a) cd /accounts/metafor/Snapshot
    b) zipper les sources du snapshot : tar -cvzf snapshot.tar oo_meta oofelie oo_nda
    c) rm -rf oo_meta oo_nda oofelie
    d) cvs -d :ext:jchamps@gaston.ltas.ulg.ac.be:/accounts/oofelie/Repository co -d oofelie oofelie
       cvs -d :ext:jchamps@gaston.ltas.ulg.ac.be:/accounts/metafor/Repository co -d oo_meta oo_meta-4
       cvs -d :ext:jchamps@gaston.ltas.ulg.ac.be:/accounts/metafor/Repository co oo_nda oo_nda
    f) On recompile oo_meta : cd ../oo_meta
                              ./fullBuild.sh --with-gui
                              gmake NCPU=N (ou gmake debug pour une version debug)
    g) On refait ventuellement passer une batterie (dans apps : ./fullBatterie.sh, ./verif.sh, ./merge.sh) et on vrifie (CVS diff) 
    h) On efface le fichier .tar
    i) faire un backup CD de la version PC, y compris projet

